Application users may be interested in retrieving datasets stored in large memories connected to a computing system. In some examples, memory controllers use memory banks attached to them to serve load and store requests. Other examples use Central Processing Unit (CPU) designs that expose a flat memory hierarchy to the programmer and require all memory operations to be executed inside the CPU. However, computers may have a multi-layer memory hierarchy with different characteristics per layer. Moving from the CPU to distant layers increases memory access latency, and therefore, has the challenge of pointer-intense workloads as access to pointers are mostly latency-limited.